package com.mycompany.model;

import java.sql.Blob;

import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;
import javax.persistence.Version;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotEmpty;

import com.mycompany.customContainer.Regione;
import com.mysema.query.annotations.QueryInit;

@Entity
@Table(name="utenti")
public class User extends AbstractEntity {
	
	
	private String nome;
	
	@Version
	private Integer version;
	
	private String cognome;
	

	private String codiceFiscale;
	
	
	private String email;
	
	@Lob
	private byte[] immagine;
	
	@Embedded
	@QueryInit(value = { "regione","provincia"})
	private Indirizzo indirizzo = new Indirizzo();
	
	public User() {
		// TODO Auto-generated constructor stub
		nome = "";
		cognome= "";
//		codiceFiscale = "";
//		email = "";

	}
	

	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getCognome() {
		return cognome;
	}
	public void setCognome(String cognome) {
		this.cognome = cognome;
	}
	
	public String getCodiceFiscale() {
		return codiceFiscale;
	}

	public void setCodiceFiscale(String codiceFiscale) {
		this.codiceFiscale = codiceFiscale;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Indirizzo getIndirizzo() {
		return indirizzo;
	}

	public void setIndirizzo(Indirizzo indirizzo) {
		this.indirizzo = indirizzo;
	}
	
	public byte[] getImmagine() {
		return immagine;
	}


	public void setImmagine(byte[] immagine) {
		this.immagine = immagine;
	}


	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return nome+" "+cognome;
	}




	
	
	
	 
}
